'''
【程序51】
题目：学习使用按位与 & 。　　　
1.程序分析：0&0=0; 0&1=0; 1&0=0; 1&1=1
2.程序源代码：
'''
if __name__ == '__main__':
    a = 77
    b = a & 3
    print ('a & b = %d' % b)
    b &= 7
    print ('a & b = %d' % b)


'''
题目：学习使用按位或 | 。
1.程序分析：0|0=0; 0|1=1; 1|0=1; 1|1=1　　　　　　　　　　　　
2.程序源代码： 
'''

if __name__ == '__main__':
    a = 77
    b = a | 3
    print ('a | b is %d' % b)
    b |= 7
    print ('a | b is %d' % b)

'''
【程序53】
题目：学习使用按位异或 ^ 。　　　
1.程序分析：0^0=0; 0^1=1; 1^0=1; 1^1=0
2.程序源代码：
'''
if __name__ == '__main__':
    a = 77
    b = a ^ 3
    print ('The a ^ 3 = %d' % b)
    b ^= 7
    print ('The a ^ b = %d' % b)


'''
【程序55】
题目：学习使用按位取反~。　　　
1.程序分析：~0=1; ~1=0;
2.程序源代码：
如何查看复数的16进制数
'''
if __name__ == '__main__':
    a = 234
    b = ~a
    print ('The a\'s 1 complement is %d' % b)
    a = ~a
    print ('The a\'s 2 complement is %d' % a)
